import time

from selenium.webdriver import ActionChains
from selenium.webdriver.support.wait import WebDriverWait

from config import PATH


class BasePage(object):
    def __init__(self, driver):
        self.driver = driver

    # 设置元素定位的方法
    def get_element(self, loc):
        """
        元素的定位
        :param loc:  路径
        :return: 无
        """
        try:
            element = WebDriverWait(self.driver, 10).until(lambda x: x.find_element(*loc))
            return element
        except Exception as e:
            print("元素定位失败".format(e))
            raise

    #     清除和输入
    def base_clear_input(self, loc, text):
        """
        清除输入框
        :param loc: 定位到元素的属性
        :param text: 输入的内容
        :return: 无
        封装前：
        self.get_element(self.phone).clear
        self.get_element(self.phone).send_keys(phone)
        self.get_element(self.phone).clear
        self.get_element(self.password).send_keys(password)
        e
        """
        element = self.get_element(loc)
        element.clear()
        element.send_keys(text)

    #     点击元素
    def click_element(self, loc):
        """
        点击元素
        :param loc: 定位到元素的属性
        :return: 无
        lf.get_element(self.login).click()
        """
        self.get_element(loc).click()


    # 截图的方法封装
    def base_get_img(self,name):
        """
        截图
        :param name: 图片名字
        :return: 无
        """
        self.driver.get_screenshot_as_file(PATH+"/img/"+name)